Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docutils to 0.20 #133

Closed
wants to merge 1 commit into from

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented May 9, 2023

This PR updates docutils from 0.15.2 to 0.20.

Changelog

0.20rc1

============================

.. Note::

Docutils 0.20 is the last version supporting Python 3.7 and 3.8.

* General

- Support Python 3.11 (patch 198 by Hugo van Kemenade).

* Output changes:

HTML5:
 Use dpub-ARIA role "doc-footnote" (instead of ARIA role "note")
 for footnotes.

LaTeX:
 Do not load the `inputenc` package in UTF-8 encoded LaTeX sources.
 (UTF-8 is the default encoding for LaTeX2e since 2018).

* Configuration changes:

- Settings in the [latex2e writer] configuration file section
 are now ignored by the "xetex" writer.
 Place common settings in section `[latex writers]`_.

 .. _[latex writers]: docs/user/config.htmllatex-writers

- New command line setting output_. Obsoletes the ``<destination>``
 positional argument (cf. `future changes`__).

 __ `command-line usage pattern`_

* `utils.find_file_in_dirs()` now returns a POSIX path also on Windows;
`utils.get_stylesheet_list()` no longer converts ``\`` to ``/``.

* docutils/languages/
docutils/parsers/rst/languages/

- Support Ukrainian. Patch by Dmytro Kazanzhy.

* test/coverage.sh

- Removed. Use the coverage.py_ project instead,
 ``coverage run test/alltests.py`` and ``coverage report``.

.. _coverage.py: https://pypi.org/project/coverage/

* tools/

- Moved ``quicktest.py`` to ``tools/dev/``.

* Bugfixes and improvements (see HISTORY_).

.. _output: docs/user/config.htmloutput

0.19

=========================

0.19b1

* Drop support for Python 2.7, 3.5, and 3.6.

* Output changes:

HTML5:
 Wrap groups of footnotes in an ``<aside>`` for easier styling.

 The CSS rule ``.footnote-list { display: contents; }`` can be used to
 restore the behaviour of custom CSS styles.

* After package installation, the CLI commands ``python -m docutils`` and
``docutils`` start the `generic command line front end tool`_.

.. _generic command line front end tool:
   docs/user/tools.htmlgeneric-command-line-front-end

* Support parsing "Markdown" input with 3rd party parsers
myst_, pycmark_, or recommonmark_.

* The default values for the "pep-references", "rfc-base-url",
and "python-home" `configuration settings`_ now use the "https:" scheme.
The PEP-writer template's header is updated to fix links and
resemble the header of official PEPs.

* Various bugfixes and improvements (see HISTORY_).

.. _myst: https://pypi.org/project/myst-docutils
.. _pycmark: https://pypi.org/project/pycmark/
.. _recommonmark: https://pypi.org/project/recommonmark/
.. _configuration settings: docs/user/config.html

0.18.1

===========================

.. Note::

Docutils 0.18.1 is the last version supporting Python 2.7, 3.5, and 3.6.

* ``nodes.Node.traverse()`` returns a list again to restore backwards
compatibility (fixes bug 431).
Use ``nodes.Node.findall()`` to get an iterator.

* re-add module ``parsers.rst.directives.html``
(stub, emits deprecation warning and loads
"Meta" directive from its new place at ``parsers.rst.directives.misc``.)

* Small bugfixes (see HISTORY_).

0.18

=========================

* Output changes:

Identifiers:
 - During `identifier normalization`_, leading number and hyphen
   characters are no longer stripped from a `reference name`_, if the
   id_prefix_ setting is non-empty.

   Example:
     with ``--id-prefix="DU-"``, a section with title "34. May"
     currently gets the identifier key ``DU-may`` and after the
     change the identifier key ``DU-34-may``.

 - The default value for the auto_id_prefix_ setting changed to ``%``:
   "use the tag name as prefix for auto-generated IDs".
   Set auto_id_prefix_ to ``id`` for unchanged auto-IDs.

HTML5:
 - Use the semantic tag <aside> for footnote text and citations, topics
   (except abstract and toc), admonitions, and system messages.
   Use <nav> for the Table of Contents.

 - Make "auto" table column widths the default: Only specify column
   widths, if the `"widths" option`_ is set and not "auto".
   The table-style__ setting "colwidths-grid" restores the current default.

   .. _"widths" option: __ docs/ref/rst/directives.htmltable
   __ docs/user/config.htmltable-style

 - Items of a definition list with class argument "details" are
   converted to `details disclosure elements`_. Example::

     ..class:: details

     Summary
       This additional information should be hidden.

 - Do not add "compound-first", "compound-middle", or "compound-last" to
   elements nested in a compound. Use child selector and ":first-child",
   ":last-child" pseudo classes instead.

 - Use class value "backrefs" instead of "fn-backref" for a span of
   back-references.

 - Write footnote brackets and field term colons to HTML, so that they
   are present also without CSS and when copying text.

 - Move space character between section number and heading into
   "sectnum" span.

`math-output`_: html
 - Support more commands, fix mapping of commands to Unicode characters.
 - Scale variable sized operators and big delimiters with CSS.
 - Don't use <tt> element (deprecated in HTML5).
 - Use STIX fonts if available.

LaTeX:
  `legacy_class_functions`_ setting default changed to "False",
  admonitions are now environments.

* New standard Docutils doctree node: <meta__>.

* New configuration settings:

- [latex writers] legacy_column_widths_ and
- [html5 writer] image_loading_.

* Removed files:
``iepngfix.htc`` and ``blank.gif`` (IE 6 workaround for `s5_html`).

* Removed sub-module:
``parsers.rst.directives.html``
(reversed in release 0.18.1).

* Removed function: utils.unique_combinations()
(obsoleted by itertools.combinations()).

* Removed attributes:

- ``HTMLTranslator.topic_classes``: check ``node.parent.classes`` instead.
- ``nodes.Text.rawsource``: we store the null-escaped text in Text
 nodes since 0.16 so there is no additional information in the
 rawsource.

* Major refactoring and fixes/additions in
``docutils/utils/math/math2html.py`` and
``docutils/utils/math/latex2mathml.py``
(mathematical notation in HTML, cf. `LaTeX syntax for mathematics`_).

* nodes.Node.traverse() returns an iterator instead of a list
(reversed in release 0.18.1).

* Various bugfixes and improvements (see HISTORY_).

Fix spelling errors in documentation and docstrings.
Thanks to Dimitri Papadopoulos.

__ docs/ref/doctree.htmlmeta
.. _identifier normalization:
docs/ref/rst/directives.htmlidentifier-normalization
.. _id_prefix: docs/user/config.htmlid-prefix
.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix
.. _details disclosure elements:
 https://www.w3.org/TR/html52/interactive-elements.html#the-details-element
.. _LaTeX syntax for mathematics: docs/ref/rst/mathematics.html
.. _legacy_column_widths: docs/user/config.htmllegacy-column-widths

0.17.1

===========================

* Bug fixes (for details see the Docutils `HISTORY`_).

0.17

=========================

* Numerous bug fixes and improvements
(for details see the Docutils `HISTORY`_).

* Installing with ``setup.py`` now requires setuptools_.
Alternatively, install with pip_.

* The generic command line front end tool docutils-cli.py_ allows
the free selection of reader, parser, and writer components.

* Support Arabic language.

* New, **experimental** wrapper to integrate the `recommonmark`__
Markdown parser for use with Docutils.
Currently only tested with recommonmark version 0.4.0.

__ https://pypi.org/project/recommonmark/

* HTML5 writer:

- New option embed_images_.

- Use semantic tags (for details see the Docutils `HISTORY`_).

- Change the `initial_header_level`_ setting's default to "2", as browsers
 use the `same style for <h1> and <h2> when nested in a section`__.

- New optional style ``responsive.css``, adapts to different screen
 sizes.

- Move non-essential styling from ``minimal.css`` to ``plain.css``
 rsp. ``responsive.css``.

- Show code line numbers as pseudo-elements so they are skipped when
 copying the code block from the page.

.. _initial_header_level: docs/user/config.htmlinitial-header-level
__ https://stackoverflow.com/questions/39547412/same-font-size-for-h1-and-h2-in-article
.. _embed_images: docs/user/config.htmlembed-images

* LaTeX writer:

- New configuration setting `legacy_class_functions`_.

- The special value "auto" for the `graphicx_option`_ setting
 is no longer supported (it never worked for xetex/luatex).

- `Styling commands`__ using the legacy ``\docutilsrole`` prefix are
 now ignored. Use ``\DUrole``.

 __ docs/user/latex.htmlclasses

- Most helper commands and element definitions are now defined in the
 LaTeX package `docutils.sty`_ and only inserted in the document
 preamble if the stylesheet__ setting does not lists "docutils".

 __ docs/user/config.htmlstylesheet-latex-writers

- Remove legacy LaTeX stylesheet ``docutils-05-compat.sty``.

.. _setuptools: https://pypi.org/project/setuptools/
.. _pip: https://pypi.org/project/pip/
.. _docutils-cli.py: docs/user/tools.htmldocutils-cli-py
.. _legacy_class_functions: docs/user/config.htmllegacy-class-functions
.. _graphicx_option: docs/user/config.htmlgraphicx-option
.. _docutils.sty: https://ctan.org/pkg/docutils

0.16

=========================

Docutils 0.16.x supports Python 2.7 and Python >= 3.5 natively,
without the use of the ``2to3`` tool.

* reStructuredText:

- Keep `backslash escapes`__ in the document tree. This allows, e.g.,
 escaping of author-separators in `bibliographic fields`__.

__ https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#escaping-mechanism
__ docs/ref/rst/restructuredtext.htmlbibliographic-fields

* LaTeX writer:

- Informal titles of type "rubric" default to bold-italic and left aligned.
- Deprecate ``\docutilsrole`` prefix for styling commands:
 use ``\DUrole`` instead.
- Fix topic subtitle.
- Add "latex writers" to the `config_section_dependencies`.
- Ignore classes for `rubric` elements
 (class wrapper interferes with LaTeX formatting).

* tools/buildhtml.py

- New option ``--html-writer`` allows to select "html" (default),
 "html4" or "html5" (deprecated in favour of the `"writer" setting`_
 in Docutils 0.18).

.. _"writer" setting:
  docs/user/config.htmlwriter-buildhtml-application

* docutils/io.py

- Remove the `handle_io_errors` argument from io.FileInput/Output.

* docutils/nodes.py

- If `auto_id_prefix`_ ends with "%", this is replaced with the tag name.

.. _auto_id_prefix: docs/user/config.htmlauto-id-prefix

* Various bugfixes and improvements (see HISTORY_).
Links

@pyup-bot pyup-bot mentioned this pull request May 9, 2023
@pyup-bot
Copy link
Contributor Author

Closing this in favor of #134

@pyup-bot pyup-bot closed this May 17, 2023
@nikolas nikolas deleted the pyup-update-docutils-0.15.2-to-0.20 branch May 17, 2023 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant